<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
	// 1、编写计算加减乘除的4个函数，用return语句返回计算结果
			var a;
			function a(x,y){
				a=x+y;
				return a;
			}
			a(2,3);
			console.log(a);
			console.log("///////////////");
			var a1;
			function b(x,y){
				b=x-y;
				return b;
			}
			b(7,1);
			console.log(b);
			console.log("///////////////");
			var c;
			function c(x,y){
				c=x*y;
				return c;
			}
			c(5,6);
			console.log(c);
			console.log("///////////////");
			var d;
			function d(x,y){
				d=x/y;
				return d;
			}
			d(8,4);
			console.log(d);
			console.log("///////////////");
			
	// 2、定义一个可以接受三个number参数的函数，返回这三个数中最大的那个值，调用此方法。
			function getMax () {
				var max = arguments[0];
				for (var i = 0; i < arguments.length; i++) {
					if (max < arguments[i]) {
						max = arguments[i];
					}
				}
						return max;
			}
			var max = getMax(17, 27, 37)
			console.log(max);
			console.log("///////////////");
			
	/*3、编写一个收银台收银程序，根据商品单价、购买数量以及收款金额计算并输出应收金额和找零
		当总价大于或等于500时，享受8折优惠
		考虑程序异常情况，如：
		若收款金额大于应收金额，则计算找零后输出
		若收款金额小于应收金额，输出错误提示信息*/
			var money = prompt("请输入购买金额:");
				if(isNaN(money)){
					alert("请输入数字");
				}else{
					if(money >= 500){
						money=money*0.8;
						console.log(money);
					}else if(money >500){
						console.log("找零");
					}else{
						console.log("错误");
					}
				}
				console.log("///////////////");
		
	// 4、用递归函数实现1-100之内所有数之和
		
	// 5、 写出1-2+3-4+5-6+7......+n的几种实现函数
		
	// 6.	求1-100以内的质数
		function zhishu(num1) {
			for(var q=2;q<num1;q++) {
			if(num%q==0) 
				return false;
			}
			return true;
		}
		console.log(zhishu(100));
			console.log("///////////////");
	// 7.求n!的值
		 function njie(k) {
			if(k < 2) {
				return 1;
			} else {
			return k*k;
			}
		}
		console.log(njie(2));
		console.log("///////////////");
			
	// 8、求 1!+2!+3!+...+n!;
			function getSum (n) {
				var i = 1;
				var sum = 0;
				for (var j = 1; j <= n; j++) {
					i *= j;
					sum += i;
				}
				return sum;
			}
			console.log(getSum(10));
			console.log("///////////////");
			
	/* 9、数组 - 求平均分
	已知本班考试分数：var scores=[67,98,43,100,66,73];
	求本次考试的平均分数、最高分、最低分。*/
			var numbers = [67,98,43,100,66,73];
				var sum = 0;
				var avg;
				for(var i = 1; i < numbers.length; i++) {
					sum += numbers[i];
				}
				avg = sum / numbers.length;
				console.log(sum,avg);
				console.log("///////////////");

			var scores=[67,98,43,100,66,73];
			var max = numbers[0];
			var min = numbers[0];
			var maxIndex;
			var minIndex;
				for(var i = 0; i < numbers.length; i++) {
					if(max < numbers[i]) {
						max = numbers[i];
						maxIndex = i;
					}
					if(min > numbers[i]) {
						min = numbers[i];
						minIndex = i;
					}
				}
				console.log(max,min);
				console.log("///////////////");
				
	/*10、数组 - 去掉重复元素
			现有一个数组var array=[1,1,2,3,4,2,3,6,8,9,9,6];编写一个函数，传入该数组，在函数中去掉数组中的重复元素，并生成新的数组返回。
			function noRepeat(arr){
			}
			var newArray=noRepeat(array);
			//newArray=[1,2,3,4,6,8,9];
			//请实现函数noRepeat(arr)*/
			var array=[1,1,2,3,4,2,3,6,8,9,9,6];
			function noRepeat(array){
				var newArray=noRepeat(array);
					for(var p = 0; p < numbers.length; p++) {
						if(numbers[p] !== 0) {
							newArray[newArray.length] = numbers[p];
						}
					}
			}
			console.log(array);
			console.log("///////////////");

	// 11、数组 - 冒泡排序
			function maoPao (array) {
				for (var i = 0; i <array.length - 1; i++) {
					var isMaoPao = true;
						for (var j = 0; j <array.length - 1; j++) {
							if (array[j] > array[j + 1]) {
								isMaoPao = false;
								var tmp = array[j];
								array[j] = array[j + 1];
								array[j + 1] = tmp;
							}
						}
						if (isMaoPao) {
							break;
						}
					}
					return array;
				}
				var array = [7, 777, 77, 17]
				console.log(maoPao(array));
				console.log("///////////////");
		</script>
	</body>
</html>
